{
	"plugin": "kmsg",
	"logPath": "/dev/kmsg",
	"lookback": "5m",
	"bufferSize": 10,
	"source": "kernel-monitor",
	"metricsReporting": true,
	"conditions": [
		{
			"type": "KernelDeadlock",
			"reason": "KernelHasNoDeadlock",
			"message": "kernel has no deadlock"
		},
		{
			"type": "ReadonlyFilesystem",
			"reason": "FilesystemIsNotReadOnly",
			"message": "Filesystem is not read-only"
		}
	],
	"rules": [
		{
			"type": "temporary",
			"reason": "OOMKilling",
			"pattern": "Kill process \\d+ (.+) score \\d+ or sacrifice child\\nKilled process \\d+ (.+) total-vm:\\d+kB, anon-rss:\\d+kB, file-rss:\\d+kB.*"
		},
		{
			"type": "temporary",
			"reason": "TaskHung",
			"pattern": "task \\S+:\\w+ blocked for more than \\w+ seconds\\."
		},
		{
			"type": "temporary",
			"reason": "UnregisterNetDevice",
			"pattern": "unregister_netdevice: waiting for \\w+ to become free. Usage count = \\d+"
		},
		{
			"type": "temporary",
			"reason": "KernelOops",
			"pattern": "BUG: unable to handle kernel NULL pointer dereference at .*"
		},
		{
			"type": "temporary",
			"reason": "KernelOops",
			"pattern": "divide error: 0000 \\[#\\d+\\] SMP"
		},
		{
			"type": "permanent",
			"condition": "KernelDeadlock",
			"reason": "AUFSUmountHung",
			"pattern": "task umount\\.aufs:\\w+ blocked for more than \\w+ seconds\\."
		},
		{
			"type": "permanent",
			"condition": "KernelDeadlock",
			"reason": "DockerHung",
			"pattern": "task docker:\\w+ blocked for more than \\w+ seconds\\."
		},
		{
			"type": "permanent",
			"condition": "ReadonlyFilesystem",
			"reason": "FilesystemIsReadOnly",
			"pattern": "Remounting filesystem read-only"
		}
	]
}
